package connexion;

import java.sql.*;

public class ConnexionAccess {
	private String path = "jdbc:odbc:source2";
	private String user = "";
	private String password = "";
	private Connection connection;

	public ConnexionAccess() {
		
	}
	
	public ConnexionAccess(String path) {
		this.path = path;
		this.user = user;
		this.password = password;
	}

	/**
	 * Connection à la base
	 * 
	 * @return : true si la connexion est réussite, false si échouillée
	 */
	public Connection connect() {
		try {
			// Chargement du driver ODBC
			Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
			// Connexion à la base
			connection = DriverManager.getConnection(path,user,password);
		} catch (ClassNotFoundException e) {
			System.out.println("Problème avec le driver ODBC");
			return null;
		} catch (SQLException e) {
			System.out.println("Impossible de se connecter à la base");
			return null;
		}
		return connection;
	}

	/**
	 * Déconnexion de la base
	 * 
	 * @return : true si la déconnexion est réussite, false sinon
	 */
	public boolean disconnect() {
		try {
			connection.close();
			return true;
		} catch (SQLException e) {
			return false;
		}
	}

	/**
	 * Envoi d'une requête de séletion
	 * 
	 * @param : sql
	 * @return : result
	 */
	public ResultSet SQLSelect(String sql) throws SQLException {
		Statement statement = null;
		ResultSet result = null;
		try {
			statement = connection.createStatement();
			result = statement.executeQuery(sql);
			return result;
		} catch (SQLException e) {
			result.close();
			statement.close();
			return null;
		}
	}

	/**
	 * Envoi d'une requête de mise à jour (insert, update, delete)
	 * 
	 * @param : sql
	 */
	public void SQLUpdate(String sql) throws SQLException {
		Statement statement = null;
		try {
			statement = connection.createStatement();
			statement.executeUpdate(sql);
		} catch (SQLException e) {
			statement.close();
		}
	}
}
